package com.vtron.web.api.service;

import com.vtron.core.HttpCode;

import java.util.function.Function;

public interface ITokenService {

    /**
     * 获取登录鉴权信息
     */
    <T> T getAuthentication(Class<T> clazz);
    <T> T getAuthentication(Class<T> clazz, Function<String,T> defaultObj);
    /**
     * 获取Token
     *
     * @param uid 用户ID
     * @param exp 失效时间，单位分钟
     */
      String get(String uid, long exp);
    /**
     * 获取Token
     * @param uid 用户ID
     */
      String get(String uid);

    /**
     * 检查Token是否合法
     * @param token 字符串
     */
    HttpCode check(String token);
}
